package root.DNSScheduling;

import java.util.ArrayList;
import java.util.List;

/**
 * 该类模拟了一个 DNS 负载均衡器，内部维护了一个服务器 IP 地址的列表。
 */
public class DNSLoadBalancer {
    private List<String> serverIPs;
    private int currentIndex;

    public DNSLoadBalancer() {
        serverIPs = new ArrayList<>();
        serverIPs.add("192.168.1.1");
        serverIPs.add("192.168.1.2");
        serverIPs.add("192.168.1.3");
        currentIndex = 0;
    }

    // 返回下一个服务器IP（轮询策略）
    public String getNextServerIP() {
        String serverIP = serverIPs.get(currentIndex);
        // 更新当前服务器索引
        currentIndex = (currentIndex + 1) % serverIPs.size();
        return serverIP;
    }

    public static void main(String[] args) {
        DNSLoadBalancer loadBalancer = new DNSLoadBalancer();

        // 模拟10次DNS解析请求
        for (int i = 0; i < 10; i++) {
            System.out.println("DNS解析结果: " + loadBalancer.getNextServerIP());
        }
    }
}
